package zww.study.basic;

import zww.study.basic.StudentStandards;

import java.util.Scanner;

public class TestStart {
    public static void main(String[] args) {
        // 1 无参构造方法创建对象,通过set get 方法来给成员变量赋值
        StudentStandards stu = new StudentStandards();
        stu.setName("陆婷");
        stu.setAge(28);
        stu.show();
        // 2 有参构造方法创建对象,直接给属性进行赋值
        StudentStandards stu1 = new StudentStandards("螺钉", 28);
        stu1.show();

        // 2 键盘录入 Scanner类
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入:\n");
        // 调用nextLine()方法接收返回的字符串
        String s = sc.nextLine();
        System.out.println(s);

        /*
         *  nextInt和nextLine方法配合使用，nextLine方法就没有键盘录入的机会
         * 键盘录入，如果字符串和整数一起接收，用nex方法接收字符串
         * */

        /*
         * 创建字符串对象的区别对比：
         * · 通过构造方法创建：通过new创建的字符串对象，每一次new创建都会申请一个内存空间，
         *                  虽然内容相同，但是指引的地址值不同
         * · 直接赋值方式创建：以“”方式给出的字符串，只要字符序列相同,无论在程序代码中出现几次，
         *                  JVM都只会创建一个String对象，并在字符串池中维护
         * */

        /*
         * 字符串的比较
         *   基本数据类型 == 比较的是具体的值
         *   引用数据类型 == 比较的是对象的地址值
         * String.equals(String s) 比较两个字符串内容是否相同，区分大小写
         * String.equalsIgnoreCase(String s)
         * */
        String s1 = "abc";
        String s2 = "ABC";
        String s3 = "abb";

        System.out.println(s1.equals(s2));
        System.out.println(s1.equalsIgnoreCase(s2));


    }
}
